Projective Geometric Algenbra Illuminated Chapter2_7~
長くなったので分割
2.7 Exomorphisms
Multivectorに対応した行列みたいなのを導入する。
トランスフォームなどポイントに対する行列$ mは次元nに対して$ n\times nとして表現される。ここで行列を拡張し、Multivectorに対する線形変換をするExomorphismsを導入する$ Mを導入する。$ Mは次元数$ nに対して$ 2^n \times 2^n行列として表現される。
Exomorphisms $ Mは次のような性質を満たす必要がある
$ M (a \wedge b) = (Ma) \wedge (Mb)
$ mに対するExomorphisms $ Mはどのようになるか考える。ある基底$ e_i,e_jに対して$ Mは
$ M e_{ij} = (M e_i) \wedge (M e_j)
が成り立つ。ここで$ M e_iは$ m e_iと等価であるようにする。上記の式の性質から、$ Mのbivectorに作用する部分はvectorの行列$ mから求められる。
こうして下のgradeの値からその外積を取っていくことで$ Mは決定され、対角に各gradeに作用するサブ行列があるような行列として定義することができる。この時、grade kに対するサブ行列を$ C_k(m)と表す。
スカラーに対する$ C_0(m) = 1、$ C_1(m) = mと定義する。大変なので3次元で考えて、$ C_2(m)については、$ mを
$ m = \left(\begin{matrix} a_x & b_x & c_x \\a_y & b_y & c_y\\ a_z & b_z & c_z \end{matrix}\right)
と書くと
$ \begin{aligned} (m e_{1} \wedge m e_2) &= (a_x e_1 + a_y e_2 + a_z e_3) \wedge (b_x e_1 + b_y e_2 + b_z e_3) \\ &= (a_y b_z - a_z b_y) e_{23} +  (a_z b_x - a_x b_z) e_{31} + (a_x b_y - a_y b_x) e_{12} \\ &= C_2(m) e_{12}\end{aligned}
が成り立つので、各基底でこれを求めると$ C_2(m)の成分を求めると、
$ C_2(m) = \left(\begin{matrix} a_y b_z - a_z b_y & b_y c_z - b_z c_y & c_y a_z - c_z a_y \\ a_z b_x - a_x b_z & b_z c_x - b_x c_z & c_z a_x - c_x a_z\\ a_x b_y - a_y b_x & b_x c_y - b_y c_x & c_x a_y - c_y a_x \end{matrix}\right)
という風になります。
同様に求めると$ C_3(m)は$ \det(m)になります。最終的な$ Mについては図は教科書Figure2.10参照
四次元でも(計算が大変ですが)こんな感じに求められます。なのでアフィン変換$ mに対して、任意のGeometryに作用させるExmorphisms$ Mを作ることができます。
Metric(計量)
今回の空間にもMetric(計量、距離)を考える。計量とはユークリッド空間でいうユークリッド距離とか、空間に定義される長さを表す量のこと。
教科書では内積から定義して色々Metricを定義する形をとっている(他の空間でもそうなのかな)
というわけで内積を定義するわけだが、ここでは内積についてマトリックスで表現する方法を取っている。(計量テンソルってやつ?)
基底$ e_i,e_jの内積の値をマトリックス$ gの$ ij成分$ g_{ij}と表すこととする。
$ g_{ij} = e_i \cdot e_j
内積は演算の定義として交換法則が求められるため、$ g_{ij} = g_{ji}を満たす必要があり、一般的には対角行列として表現することになる(特異な空間じゃなければ)。普通のユークリッド空間なら$ gを単位行列と定義される。
今回扱う同次座標系では計算の便宜上、4番目の基底の内積を$ e_4 \cdot e_4 =0と定義する。このため、$ gについては
$ g = \left(\begin{matrix} 1 & 0&0&0 \\ 0  & 1&0&0 \\ 0  & 0&1&0 \\ 0  & 0&0&0\end{matrix}\right)
と定義される。
こんな感じで内積の行列を定義したので、$ gのExomorphisms$ Gについては、...でかすぎるので省略。この$ GをここではMetricと呼ぶ。
基本的に$ e_4を含まなければ1、含む場合は0になるという風な値として定義される。スカラーの内積は$ 1\cdot 1 = 1としている。
- AntiMetric
恒例のDualityを考えるターン。MetricにもDualityを以下のように作ることとする。
$ \mathbb{G} u = \underline{G \overline{u}} = \overline{G \underline{u}}
こうして作られた$ \mathbb{G}をAntimetricと呼ぶ。
後何気にExomorphismsでは定義されてなかったけど、こんな感じで作られた行列はAntiexomorphismと呼ぶ。性質として次を満たす。
$ \mathbb{G} (a \vee b) = \mathbb{G}a \vee \mathbb{G} b
証明
$ \begin{aligned} \mathbb{G}(a\vee b) &= \underline{G \overline{(a\vee b)}} \\ &= \underline{G(\overline{a} \wedge \overline{b})} = \underline{G \overline{a} \wedge G \overline{b}} \\ &= \underline{G\overline{a} } \vee \underline{G\overline{b}} = \mathbb{G}a \vee \mathbb{G}b \end{aligned}
$ \mathbb{G}の役割としては$ Gとは正反対に$ e_4が含まれる場合1,含まれない場合0とする内積を定義する。
Bulk、Weight
という感じにMetricを定義しました。ここからは内積に関わる概念をいくつか定義する。
あるObject $ uに対して以下のように定義される$ u_{\bullet}をBulkと呼ぶ
$ u_{\bullet} = Gu
一方でAntimeticによってt定義される$ u_{\circ}をWeightと呼ぶ。
$ u_{\circ} = \mathbb{G}u
Bulkは$ e_4を含む基底を省いたもの、Weightは逆に$ e_4を含む基底のみを取り出したもの
例、$ u = p_x e_1 + p_y e_2 + p_z e_3 + p_w e_4
$ u_{\bullet} = p_x e_1 + p_y e_2 + p_z e_3
$ u_{\circ} = p_w e_4
こうして考えれば、$ u = u_{\bullet} + u_{\circ} が成り立つことがわかる。
オブジェクト$ a,bのウェッジ積を通してBulk、Weightを考えると、
$ a\wedge b = (a_{\bullet} + a_{\circ}) \wedge (b_{\bullet} + b_{\circ}) = a_{\bullet} \wedge b_{\bullet} +  a_{\circ} \wedge b_{\bullet} +  a_{\bullet} \wedge b_{\circ}
となる。$ a_{\circ} \wedge b_{\circ}は共に$ e_4を含むため常に0であることに注意。
上記の式で$ e_4が含まれない部分を考えると、
$ (a\wedge b)_{\bullet} = a_{\bullet} \wedge b_{\bullet}
$ (a\wedge b)_{\circ} = a_{\circ} \wedge b_{\bullet} +  a_{\bullet} \wedge b_{\circ}
と得られる。
一方でアンチウェッジ積に関しては同様に計算すると
$ (a\vee b)_{\bullet} = a_{\bullet} \vee b_{\circ} + a_{\circ} \vee b_{\bullet}
$ (a\vee b)_{\circ} = a_{\circ} \vee b_{\circ}
ー Attitude
Bunkはそのまま座標や位置を表す量であるが、一方でWeightというのはそのオブジェクトの方向や出方(attitude)を示す量である。Lineのオブジェクトでは$ e_4を含む基底はLineの方向を示すし、PlaneではNormalを示す。したがって、そういったオブジェクトの方向を抜き出したいので、Attitudeという操作を以下のように定義する。
$ \mathrm{att}(u) = u\vee \overline{e_n}
ここでの$ nは考慮している空間の次元である。さっきまでの話なら$ e_4に相当する。
例えば、$ u = p_x e_1 + p_y e_2 + p_z e_3 + p_w e_4に対するAttitudeは次のようになる
$ \mathrm{att}(u) = p_w \mathbb{I}
内積 Inner Product
いよいよ内積に入る。Dot Product $ \bulletを次のように定義する。
$ a\bullet b = (a^{T} G b) 1
まあシンプルに$ Gを挟んだだけで普通の内積とほぼ同様。$ e_4を含まない基底同士での内積結果がスカラーで現れる。
そして例のごとくDotProductにもDualityを考える。Dot Productに対して、次のようにAntiDotProduct $ \circを定義する。これは$ e_4を含む基底同士での内積結果を示す。
$ a \circ b = (a^{T} \mathbb{G} b) \mathbb{I}
AntiDotProductとDotProductは次のような関係がある。
$ a \circ b = \overline{\underline{a} \bullet \underline{b}}
証明
$ \overline{\underline{a} \bullet \underline{b}} = \overline{(\underline{a^{T}} G \underline{b}) 1}  = \overline{(\underline{a^T} \underline{\mathbb{G} b}) 1}
かっこの中はスカラー量のため、Left Complementをしても不変である。つまり、
$ \overline{\underline{a} \bullet \underline{b}} = \overline{(\underline{a^T} \underline{\mathbb{G} b}) 1} = (a^{T} \mathbb{G} b) \mathbb{I} = a \circ b
Norms
内積が定義できたのでノルムも定義できるようになった。
ただ問題としてノルムというのは下の性質を持っておいてほしい。
Normは$ vが0ベクトルである時のみ0になる。
$ vがスカラー倍$ sされた時、そのノルムも$ |s|倍される。
2つの$ v,wに対して $ |v+w| \leq |v| + |s|が常に成り立つこと
外積代数では2つのdotが考えられているため、そのままノルムを定義するのは上の性質的によろしくない(Bulkが0だからと言って元のMultivectorは0ベクトルとは限らないし)
なので、一旦それぞれで考えられるノルム的なのを定義する。
- Bulk Norm
$ |v|_{\bullet} = \sqrt{v \bullet v}
- Weight Norm
$ |v|_{\circ} = \sqrt{v \circ v}
ちなみにWeight Normを使うと、ユークリッド空間への投影を数式的に書くことができる。
- Unifization
$ \hat{u} = \frac{u}{|u|_{\circ}}
この2つのNormを使って、さらにMultivectorに対するGeometric Normというのを次のように定義をする
- Geometric Norm
$ ||u|| = |u|_{\bullet} + |u|_{\circ}
Geometric Normの結果は$ ||u|| = s1 + t \mathbb{I}というようにスカラーとアンチスカラーの組として表示され、各ジオメトリのHomogeneous magnitude(同次座標系における大きさという意味かと)を表す。
例えば、Line$ l $ (l_{vx},l_{vy},l_{vz})(l_{mx},l_{my},l_{mz})についてのGeometric Normは
$ ||l|| = 1\sqrt{l_{vx}^2 + l_{vy}^2 + l_{vz}^2} + \mathbb{I} \sqrt{l_{mx}^2 + l_{my}^2 + l_{mz}^2}
となる。
ここでUnitizeされたオブジェクト$ uのGeometric Norm$ \hat{||u||}は当然、アンチスカラーが1になっているので
$ \hat{||u||} = \frac{s}{t} 1 + \mathbb{I}
と表示される。Unitizeはユークリッド空間への射影であるため、このUnitizeされたGeometric Normは各ジオメトリの「原点からの距離」を示します。(線とか面は垂線の長さですね)
Euclidean Distances
オブジェクト間の距離を「オブジェクト上の点同士の距離の内、最短のもの」と定義する。
例として、Line$ l,k間の距離$ d(l,k)を考える。$ l,kのJoinを取ると、それは線を通る平行六面体の体積を表す(具体的にはその座標によるけど)。
$ l\wedge k
この時、$ l,kについてそれぞれの線上にある点$ p,q,r,sを用いて$ l = p \wedge q、$ k = r\wedge sと定義する。こうすれば、$ p,q,r,sをそれぞれ端とする平行六面体の体積として次が得られる
$ l\wedge k = p \wedge q \wedge r \wedge s
$ p,q、$ r,s間の距離を保ちつつ動かす場合には六面体の体積は変化しないので、それを行いつつ$ p,rがLine$ l,kの垂線の点にすることとする。求めたかった距離$ d(l,k)は$ p,r間の距離として得られ、六面体の高さとして表される。底面積については$ l_v, k_vの外積から求められるので
$ d(l,k) = \frac{|l\vee k|}{||l_v \wedge k_v||}
という表現ができるわけである。
こんな感じでオブジェクト間の距離についてウェッジ積を取って、高次のVolumeを求め、その構成である面積で割ることで所謂「高さ」としてDistanceを求める。
オブジェクト$ a,bに対して、そのディスタンス$ d(a,b)を次のように定義する
$ d(a,b) = \frac{||\mathrm{att}(a\wedge b)||_{\bullet}}{||\mathrm{att}(a)\wedge \mathrm{att}(b)||_{\bullet}}
分母は体積(というのも変ですが)、分子はその断面積みたいなノリです。attを取っているのはPositionが不要なため、Bulkがあるのは結果がアンチスカラーを含むため、それを戻しているだけ。
証明はわからないが、次のように書くこともできる。
$ d(a,b) = ||\mathrm{att}(a\wedge b)||_{\bullet} + ||a \wedge \mathrm{att}( b)||_{\circ}
また、$ a,bのグレードが等しい場合は第一項目はシンプルにアンチウェッジ積として置き換えられるので、次のように書ける。
$ d(a,b) = a\vee b + ||a \wedge \mathrm{att}( b)||_{\circ}
Dual
補数はジオメトリが存在しない次元(補集合的な?)を表すので色々便利だった。なのでメトリックに対してもComplementを考えてみようというお話。
$ uのBulk$ u_\bulletについてその左補数をBulk Dual(または単にDual)と呼ぶ。
$ u^\star = \overline{Gu}
一方で、Weightの左補数をWeight Dual(または AntiDual)と呼ぶ。(教科書だと中空の星だけどtexにないのでひし形で代用(というかこんな記号どこにあんだよ))
$ u^{\diamond} = \overline{\mathbb{G}u}
Dualに対する性質として、
$ (a\wedge b)^\star = a^\star \vee b^\star
ドモルガン的な法則がある
証明
$ (a \wedge b)^\star = \overline{G(a \wedge b)} = \overline{Ga \wedge Gb}  = \overline{Ga} \vee \overline{Gb} = a^\star \vee b^\star \tag{2.107}
同様にAntiDualについても
$ (a \vee b)^\diamond = a^\diamond \wedge b^\diamond
Interiror Products (内積 inner productとは異なるので注意)
オブジェクトのグレードを変化させる操作そしてjoinとmeetがあったが、更にInterirorProductというものを考える。
Inner Productは次の4種類存在する
Bulk Expansion :$ a \wedge b^\star
Weight Expansion :$ a \wedge b^\diamond
Bulk Constract :$ a \vee b^\star
Weight Constract :$ a \vee b^\diamond
Constructions 
$ aから$ bを取り除くような処理
Bulk Constract :$ a \vee b^\star
Weight Constract :$ a \vee b^\diamond
例と$ e_{12}に対してVector$ v=a e_1 + b e_2 + c e_3のConstuctionsをしてみる。
$ e_{12} \vee v^{\star} = a(e_{12} \vee e_1^{\star}) + b(e_{12} \vee e_2^{\star}) + c(e_{12} \vee e_3^{\star}) = a e_2 - b e_1 + 0 =(-b,a,0)
こんな感じで、$ e_{12}から$ e_{1},e_{2}を取り除くというような処理をする。
グレードについて、シンプルに引き算される
$ \mathrm{gr}(a\vee b^{\star}) = \mathrm{gr}(a \vee b^{\diamond}) = \mathrm{gr}(a) - \mathrm{gr}(b)
(これはアンチグレード単体ではできなかったので嬉しい)
このため、$ \mathrm{gr}(a) \ge \mathrm{gr}(b)が要請される。
また、$ \mathrm{gr}(a) = \mathrm{gr}(b)の時、Bulk ConstractはDot Productに相当する。
$ a \vee b^{\star} = a \cdot b
対称的に$ \mathrm{gr}(a) = \mathrm{gr}(b)の時、Weight ConstractはAnti Dot Productに相当する(ただし結果がアンチスカラーなのでスカラーに戻す必要はある)
$ a \vee b^{\diamond} = a \circ b \vee 1
Bulk Constractについては次のような関係式が成り立つ( 2.107をそのまま使えば)
$ a \vee (b\wedge c)^{\star} = a \vee b^\star \vee c^\star \tag{2.121}
ここで、$ \mathrm{gr}(a) - \mathrm{gr}(b) = \mathrm{gr}(c)を満たす$ cの時
$ (a\vee b^\star) \bullet c = a\vee b^\star \vee c^\star = a \vee(b \wedge c)^\star.  \mathrm{if} \mathrm{gr}(a) - \mathrm{gr}(b) = \mathrm{gr}(c) \tag{2.123}
が成り立つ(内積がBulk Constractとして表せるので)
性質
k-vector$  a \wedge bを1-vector$ d_iによって分解して表示する$ a \wedge b = d_1 \wedge d_2 \wedge ... \wedge d_k。ここで1-grade$ vとk-1vector$ cについての式、
$ \lbrack (d_1 \wedge d_2 \wedge ... \wedge d_k) \vee v^\star \rbrack \bullet (c_1 \wedge ... \wedge c_{k-1})
は(2.123)式によって分解することができる。
$ \lbrack (d_1 \wedge d_2 \wedge ... \wedge d_k) \vee v^\star \rbrack \bullet (c_1 \wedge ... \wedge c_{k-1}) = (d_1 \wedge ... \wedge d_k) \bullet (v \wedge c_1 \wedge ... \wedge c_{k-1})\tag{2.124}
また、dot productの性質から
$ \lbrack (d_1 \wedge d_2 \wedge ... \wedge d_k) \vee v^\star \rbrack \bullet (c_1 \wedge ... \wedge c_{k-1}) = \lbrack \sum_{i=1}^k (-1)^{i-1} (d_j \bullet v) (d_1 \wedge ... \wedge d_{i-1} \wedge d_{i+1} \wedge ... \wedge dk) \rbrack \bullet (c_1 \wedge ... \wedge c_{k-1}) \tag{2.125}
が成り立つので、(2.124)と(2.125)の右辺にイコールが成り立つ、同様にBulkもそれが成り立つ。
これをaのグレードjでぶった切ってみると
$ (d_1 \wedge ... \wedge d_k) \vee v^\star = \lbrack (d_1 \wedge ...\wedge d_j) \vee v^\star \rbrack \wedge (d_{j+1} \wedge ... \wedge d_k) + (-1)^j (d_1 \wedge ... \wedge d_j) \wedge \lbrack(d_{j+1} \wedge ...\wedge d_k) \vee v^\star \rbrack
が成り立つ、$ a,bに戻せば
$ (a\wedge b) \vee v^\star = (a\vee v^\star) \wedge b + (-1)^{\mathrm{ag}(a)} a \wedge (b \vee v^\star) \rbrack \tag{2.129}
が成立する
これはクロス積の三重積みたいなもの($ a,bが1-vectorであればほぼ近い感じになる)
$ (a\wedge b) \vee v^\star = (a\bullet v) b - (b \bullet v) a \tag{2.130}
Projection and Rejection
$ a=vとして、1-vectorとすると(2.129)式は
$ (a\wedge b) \vee a^\star = (a \bullet a) b - a \wedge (b \vee a^\star) \tag{2.131}
$ a \bullet a \neq 0と仮定して、右辺の第一項目からbを取り出してみると
$ b = \frac{1}{a\bullet a}\lbrack a \wedge (b \vee a^\star) + (a\wedge b) \vee a^\star   \rbrack \tag{2.132}
という式が得られる。各項は同じ演算ではあるものの順序が違う。それぞれの意味を考える。
第一項目$ a\wedge (b \vee a^\star)について、最終的に$ aとjoinすることを考えると、結果として出てくるものはすくなからず$ aに平行なオブジェクトでなくてはならない。従って、この成分というのは$ bの$ aに平行な成分であり、$ aに$ bを投影した物と言える。というわけでこの操作をProjection onto vectorと言い、$ b_{||a}と表す。
$ b_{||a} =  \frac{a \wedge (b \vee a^\star)}{a\bullet a}\tag{2.133}
第二項目はbの内先ほどの成分で足りない部分なので、$ bの$ aに対して垂直な成分であることが分かる。この操作はRejection onto vectorと呼び、$ b_{\perp a}と書くことにします。
$ b_{\perp a} =  \frac{(a\wedge b) \vee a^\star }{a\bullet a} \tag{2.132}
ここで、$ a = e_nとした時、bulkとweightについて次のように求められる
$ b = (e_n \wedge b) \vee \overline{e_n} + e_n \wedge (b \vee \overline{e_n})
$ b_\bullet = (e_n \wedge b) \vee \overline{e_n} \tag{2.136}
$ b_\circ = e_n \wedge (b \vee \overline{e_n}) \tag{2.136}
Euclidean Angles
以上の議論によってようやく内積における角度を表現できるようになります。
ユークリッド空間におけるベクトル間の内積については、その角度を$ \phiとすれば
$ \cos{\phi} = \frac{a \cdot b}{||a||||b||}
という関係があった。
Bulk Constractionが内積の一般化であったことを考えるとアイディアとして次のようなConstractionを使ってコサイン項を考えられる。
$ \cos{\phi} = \frac{||a \vee b^\star ||_\bullet}{||a||_\bullet ||b||_\bullet}
実際LineとPlaneのコサインを考えると、位置は無関関係なため方向のみを取り出して
$ \cos{\phi} = \frac{||\mathrm{att}(a) \vee \mathrm{att}(b)^\star ||_\bullet}{||\mathrm{att}(a)||_\bullet ||\mathrm{att}(b)||_\bullet} \tag{2.139}
と書くことができる。
ここで、分母のについて展開すると
$ \mathrm{att}(a) \vee \mathrm{att}(b) = (a \vee \overline{e_n}) \vee \overline{(b \vee \overline{e_n})_\bullet}
である。2つめのオペランドについては$ b\vee \overline{e_n}は$ e_nを含まないので、Bulkは何も影響しない。ドモルガンの法則を使って
$ \overline{(b \vee \overline{e_n})} = (\overline{b} \wedge \overline{\overline{e_n}})
と書き換え、
(1) $ \overline{\overline{e_n}} \rightarrow e_n
(2) $ \overline{e_n} \vee (\overline{b} \wedge e_n) \rightarrow  (\overline{b} \wedge e_n) \vee \overline{e_n} 
(3) $ (\overline{b} \wedge e_n) \rightarrow (e_n \wedge \overline{b})
各入れ換えによる符号反転は最終的に$ (-1)^{2n-2}となり、符号は何も影響しない。この入れ替えによって最終的に
$ (a \vee e_n) \vee \overline{(b \vee \overline{e_n})_\bullet} = a \vee (e_n \wedge \overline{b}) \vee \overline{e_n}
となる。ここで(2.136)式を使えば、右側の項というのは$ \overline{b}のBulkであるので
$ \mathrm{att}(a) \vee \mathrm{att}(b) = a \vee \overline{b}_\bullet
となる。ここでWeght Dualsの定義を用いれば
$ \mathrm{att}(a) \vee \mathrm{att}(b) = a \vee \overline{b}_\bullet = a \vee \overline{b_\circ} ~= a \vee b^\diamond
ということになる。
また、分子について、attのノルムというのはシンプルにWeightのノルムのアンチスカラーがスカラーになっただけの存在である。本質的にはほとんど変わらない。
$ ||u_\circ|| = ||\mathrm{att}(u)||_\bullet \wedge \mathbb{I}
ここら辺の意味はよくわからないが、上の関係式を使って、アンチスカラーを含めて表示したバージョンとして、
$ \cos{\phi} = ||a \vee b^\diamond||_\bullet + ||a||_\circ||b||_\circ \tag{2.145}
を定義することとする。ただし、同じグレード同士であった場合は正負が存在してほしいので、次のように定義する
$ \cos{\phi} = a \vee b^\diamond + ||a||_\circ ||b||_\circ .\mathrm{if} \mathrm{gr}(a) = \mathrm{gr}(b)
Expansion
ContractionのDualilityとしてExpansionが定義できる。Bulk Constractionに対して、
$ \begin{aligned}  \underline{\overline{a}\vee \overline{b^\star}} &= \underline{\overline{a} \vee \overline{G \overline{b}}}  \\ &= a \wedge G \overline{b} \\ &= a \wedge \overline{\mathbb{G} b} \\ &= a \wedge b^\diamond \end{aligned} 
とWeight Expansionが定義される。同様に、Weight ConstractionのDualとして
$ \underline{\overline{a} \vee \overline{b^\diamond}} = a \wedge b^\star
と得ることができる。
この関係からExpansionはConstractionと対照的に、$ aから$ bを追加するというような作用をもつ(グレードを上げる)
例として$ vと$ e_{12}のBulk Expasionについて考えると、
$ v \wedge e_{12}^\star = a(e_1 \wedge e_{12}\star) + b(e_2 \wedge e_{12}\star) + c(e_3 \wedge e_{12}\star) = -a e_{31} + b e_{23}
$ e_{12}^\star = e_3なので
この結果を見るとこれはbivectorとグレードを上げて、$ e_{12}に対して平行な平面が得られていることがわかる。
Expansionはグレードについて
$ \mathrm{ag}(a\wedge b^\star) = \mathrm{ag}(a \wedge b^\star) = \mathrm{ag}(a) - \mathrm{ag}(b)
アンチグレードを下げ、$ bに対して垂直な$ aを含むオブジェクトを生成する。
Constractとほぼ同様の性質を持つ
$ a \wedge b^\diamond = a \circ b \mathrm{if}.\mathrm{ag}(a) = \mathrm{ag}(b)
$ a \wedge b^\star = (a \bullet b) \wedge \mathbb{I} \mathrm{if}. \mathrm{ag(a) = ag(b)}
$ a \wedge (b \vee c)^\diamond = a \wedge b^\diamond \wedge c^\diamond
$ (a \wedge b^\diamond) \circ c = a \circ (b \vee c) \mathrm{if}. \mathrm{ag(a) = ag(b) + ag(c)}
$ \lbrack(a\vee b) \wedge v^\diamond \rbrack_\circ = \lbrack (a \wedge b^\diamond) \vee b + (-1)^{\mathrm{ag}(a)} a\vee (b \wedge v^\diamond) \rbrack_\circ
Expansion(Point, Plane) -> Line
Expansino(Point, Line) -> Plane
Expansion(Line,Plane) -> Plane